package editor.cn;

//Balanced strings are those who have equal quantity of 'L' and 'R' characters. 
//
//
// Given a balanced string s split it in the maximum amount of balanced strings.
// 
//
// Return the maximum amount of splitted balanced strings. 
//
// 
// Example 1: 
//
// 
//Input: s = "RLRRLLRLRL"
//Output: 4
//Explanation: s can be split into "RL", "RRLL", "RL", "RL", each substring cont
//ains same number of 'L' and 'R'.
// 
//
// Example 2: 
//
// 
//Input: s = "RLLLLRRRLR"
//Output: 3
//Explanation: s can be split into "RL", "LLLRRR", "LR", each substring contains
// same number of 'L' and 'R'.
// 
//
// Example 3: 
//
// 
//Input: s = "LLLLRRRR"
//Output: 1
//Explanation: s can be split into "LLLLRRRR".
// 
//
// Example 4: 
//
// 
//Input: s = "RLRRRLLRLL"
//Output: 2
//Explanation: s can be split into "RL", "RRRLLRLL", since each substring contai
//ns an equal number of 'L' and 'R'
// 
//
// 
// Constraints: 
//
// 
// 1 <= s.length <= 1000 
// s[i] = 'L' or 'R' 
// 
// Related Topics 贪心算法 字符串 
// 👍 76 👎 0

public class SplitAStringInBalancedStrings{
    public static void main(String[] args) {
        Solution solution = new SplitAStringInBalancedStrings().new Solution();
        
    }

//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public int balancedStringSplit(String s) {
        char[] chars = s.toCharArray();
        int count = 0;
        int lCount = 0;
        int rCount = 0;
        for (char aChar : chars) {
            if (aChar == 'R') {
                rCount++;
            }
            if (aChar == 'L') {
                lCount++;
            }
            if (rCount == lCount) {
                count++;
            }

        }
        return count;

    }
}
//leetcode submit region end(Prohibit modification and deletion)

}